package ws;

import org.apache.cxf.annotations.WSDLDocumentation;

import javax.jws.WebParam;
import javax.jws.WebService;

/**
 * WebService 可以定义服务名称， 暴露的端口名字
 * WebParam 可以设置请求参数的名字 如果不设置就默认的arg0
 */
@WebService
public interface CustomerService {

    /*
    *
    * 生成的wsdl文件中间节点注释*/
    @WSDLDocumentation("The docs for echoString")
    public Customer[] getCustomersByName(@WebParam(name="name") String name) throws NoSuchCustomerException;
}
/*
可以使用maven插件cxf-java2ws-plugin  来生成一个wsdl
* <xs:complexType name="customer">
    <xs:sequence>
        <xs:element minOccurs="0" name="name" type="xs:string"/>
        <xs:element maxOccurs="unbounded" minOccurs="0" name="address" nillable="true" type="xs:string"/>
        <xs:element name="numOrders" type="xs:int"/>
        <xs:element name="revenue" type="xs:double"/>
        <xs:element minOccurs="0" name="test" type="xs:decimal"/>
        <xs:element minOccurs="0" name="birthDate" type="xs:dateTime"/>
        <xs:element minOccurs="0" name="type" type="tns:customerType"/>
    </xs:sequence>
</xs:complexType>
*
minOccurs 代表最少可以出现的次数等于0就是代表可以不传 你可以使用WebParam 里面的required=true 来限制他必须传
*


<xs:simpleType name="customerType">
    <xs:restriction base="xs:string">
        <xs:enumeration value="PRIVATE"/>
        <xs:enumeration value="BUSINESS"/>
    </xs:restriction>
</xs:simpleType>



* */